<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Licencia_frm( $this );

	class Licencia_frm extends Frm
	{
	function Licencia_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncPersona']				= new InputLookUp ( "Persona", "ncPersona" );
			$this->aFields['ncOrden']					= new Input( "Codigo", "ncOrden", '', false, true );
			$this->aFields['nAno']						= new InputNumber( "Ano", "nAno" );
			$this->aFields['dDesde']					= new InputDate( "Desde", "dDesde" );
			$this->aFields['dHasta']					= new InputDate( "Hasta", "dHasta" );
			$this->aFields['ncMotivoLicencia']	= new InputList ( "Motivo", "ncMotivoLicencia" );
			$this->aFields['cObservaciones']		= new InputText( "Observaciones", "cObservaciones" );
		}
	function setValue( $ncPersona , $ncOrden )
		{
			$cSql = "SELECT ncPersona, ncOrden, ncMotivoLicencia, dDesde, dHasta, cObservaciones, nAno
								FROM atPersonalLicencia as PLi
								WHERE PLi.ncPersona = $ncPersona
									AND PLi.ncOrden = '$ncOrden'";
			$aRow = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aRow );
			return $aRow;
		}
	function setLevel( $nLevel)
		{
			switch ( $nLevel )
			{
				case 1:
					$this->aInput = array( 'ncPersona', 'dDesde', 'ncMotivoLicencia' );
					break;
				case 2: // Alta Simple
					$this->aInput = array( 'ncOrden', 'ncPersona', 'nAno', 'ncMotivoLicencia', 'dDesde', 'dHasta', 'cObservaciones'  );
					break;
			}
		}
	function initializeForm()
		{
			// Si Recibe la Pk => busca los datos
				if ( $this->isRetrievable() && $this->aFields['ncPersona']->getValue() && $this->aFields['ncOrden']->getValue() )
				{
					$aRow = $this->setValue( $this->aFields['ncPersona']->getValue() , $this->aFields['ncOrden']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel ( "Licencia ");
			return true;
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
				case 'ncPersona':
					$oField->setMandatory($this->isMandatory() );
					$oField->setForm( $this );
					initializePersonal( $oField );
				break;
				case 'ncMotivoLicencia':
					$cSql  = "SELECT ncMotivoLicencia, cdMotivoLicencia FROM acMotivoLicencia";
					$oField->setMatrix( $this->oDatabase->getMatrix( $cSql ) );
					$oField->setMandatory($this->isMandatory() );
				break;
				case 'dDesde':
					$oField->setDefault( Date("d-m-Y") );
					$oField->setMandatory($this->isMandatory() );
				break;
				case 'dHasta':
					$oField->setMandatory($this->isMandatory() );
				break;
				case 'nAno':
					$oField->setDefault( Date("Y") );
					$oField->setMandatory($this->isMandatory() );
				break;
				case 'cObservaciones':
					$oField->setLength( 250 );
				break;
			}
		}
	}
?>
